/* CSS Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  line-height: 1.8;
  color: #333;
  padding: 0 10px;
  background-color: #f0f8ff;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Header */
header.hero {
  background-color: #1a3a6e;
  color: white;
  padding: 2rem 1rem;
  border-radius: 0 0 10px 10px;
  margin-bottom: 2rem;
  text-align: center;
  width: 100%;
  overflow: hidden;
}

.hero h1 {
  font-size: clamp(1.5rem, 4vw, 2.8rem);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  word-break: break-word;
  hyphens: auto;
}

.hero p {
  font-size: clamp(0.9rem, 2.5vw, 1.2rem);
  word-break: break-word;
}

/* Headings */
h2 {
  font-size: clamp(1.2rem, 3.5vw, 2rem);
  margin: 2rem 0 1rem;
  color: #1a3a6e;
  border-bottom: 2px solid #eee;
  padding-bottom: 0.5rem;
  word-break: break-word;
  hyphens: auto;
}

/* h3 {
  font-size: clamp(1rem, 3vw, 1.6rem);
  margin: 1.5rem 0 1rem;
  color: #c41e3a;
  word-break: break-word;
  hyphens: auto;
} */

h4 {
  font-size: clamp(0.9rem, 2.5vw, 1.3rem);
  margin: 1rem 0 0.5rem;
  color: #1a3a6e;
  word-break: break-word;
}

h5 {
  font-size: clamp(0.9rem, 2.5vw, 1.3rem);
  margin: 1rem 0 0.5rem;
  color: green;
  word-break: break-word;
}

/* Paragraphs */
p {
  margin-bottom: 1.2rem;
  word-break: break-word;
  hyphens: auto;
  font-size: clamp(0.9rem, 2vw, 1rem);
}

/* Links */
a {
  color: #0056b3;
  text-decoration: none;
  word-break: break-all;
}

a:hover {
  text-decoration: underline;
}

/* Topic Koh Red Color Me */
.topic {
  color: #c41e3a;
}


/* Layout Container */
.container {
  max-width: 960px;
  margin: 0 auto;
  padding: 20px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
  width: 100%;
  overflow: hidden;
  word-wrap: break-word;
}

.container>* {
  margin-bottom: 1.5rem;
  max-width: 100%;
}

/* Lists */
.container ul {
  padding-left: 1.8rem;
  margin-bottom: 1.5rem;
  word-wrap: break-word;
}

.container li {
  margin-bottom: 0.6rem;
  word-break: break-word;
  hyphens: auto;
}

.container li strong {
  word-break: break-word;
}

/* Code blocks and pre elements */
pre {
  background-color: #f4f4f4;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 1rem;
  margin: 1rem 0;
  overflow-x: auto;
  font-size: clamp(0.7rem, 1.5vw, 0.9rem);
  white-space: pre-wrap;
  word-wrap: break-word;
}

code {
  background-color: #f4f4f4;
  padding: 2px 4px;
  border-radius: 3px;
  font-size: 0.9em;
  word-break: break-all;
}

/* Blockquotes */
blockquote {
  border-left: 4px solid #1a3a6e;
  margin: 1.5rem 0;
  padding-left: 1rem;
  font-style: italic;
  background-color: #f9f9f9;
  padding: 1rem;
  border-radius: 4px;
  word-break: break-word;
}

/* Horizontal line (Markdown --- fix) */
hr {
  border: none;
  height: 1px;
  background-color: transparent;
  margin: 0;
}

/* TOC */
.toc {
  background-color: #f0f8ff;
  padding: 1.5rem;
  border-radius: 8px;
  margin: 2rem 0;
  border: 1px solid #1a3a6e;
  overflow: hidden;
  word-wrap: break-word;
}

.toc h2 {
  margin-top: 0;
  font-size: clamp(1.1rem, 3vw, 1.5rem);
}

.toc ul {
  list-style-type: none;
  padding-left: 1.2rem;
}

.toc li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
  word-break: break-word;
}

.toc a {
  word-break: break-word;
  hyphens: auto;
}

/* Warnings */
.warning {
  background-color: #ffe8e8;
  border-left: 4px solid #c41e3a;
  padding: 1.5rem;
  margin: 1.5rem 0;
  border-radius: 4px;
  word-break: break-word;
}

/* Sections */
.section {
  margin-bottom: 2rem;
  overflow: hidden;
  word-wrap: break-word;
}

.section-heading {
  color: #1a3a6e;
  margin-bottom: 1rem;
  word-break: break-word;
}

/* Tutorial content */
.tutorial-content {
  overflow: hidden;
  word-wrap: break-word;
}

/* Main content area */
.main-content {
  width: 100%;
  overflow: hidden;
}

/*List*/
/* List Container */
.pentesting-list-container {
  max-width: 960px;
  margin: 2rem auto;
  padding: 20px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  word-wrap: break-word;
}

/* List Styles */
.pentesting-types-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Individual List Items */
.pentesting-item {
  background-color: #f0f8ff;
  border: 1px solid #1a3a6e;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  transition: all 0.3s ease;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.pentesting-item:hover {
  background-color: #e6f3ff;
  border-color: #0056b3;
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(26, 58, 110, 0.15);
}

.pentesting-item:last-child {
  margin-bottom: 0;
}

/* Item Header */
.item-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

/* Item Icon */
.item-icon {
  font-size: clamp(1.5rem, 3vw, 2rem);
  background-color: #1a3a6e;
  color: white;
  padding: 0.8rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  min-height: 60px;
  flex-shrink: 0;
}

/* Item Title */
.item-title {
  color: #1a3a6e;
  font-size: clamp(1rem, 2.5vw, 1.3rem);
  margin: 0;
  font-weight: bold;
  word-break: break-word;
  hyphens: auto;
}

/* Item Description */
.item-description {
  color: #333;
  font-size: clamp(0.9rem, 2vw, 1rem);
  line-height: 1.8;
  margin: 0;
  word-break: break-word;
  hyphens: auto;
  padding-left: 75px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .pentesting-list-container {
    padding: 15px;
    margin: 1.5rem auto;
    border-radius: 5px;
  }

  .pentesting-item {
    padding: 1rem;
    margin-bottom: 1rem;
  }

  .item-header {
    gap: 12px;
  }

  .item-icon {
    min-width: 50px;
    min-height: 50px;
    padding: 0.6rem;
  }

  .item-description {
    padding-left: 62px;
  }
}

@media (max-width: 480px) {
  .pentesting-list-container {
    padding: 10px;
    margin: 1rem auto;
  }

  .pentesting-item {
    padding: 0.8rem;
  }

  .item-header {
    gap: 10px;
    flex-direction: column;
    align-items: flex-start;
  }

  .item-icon {
    min-width: 45px;
    min-height: 45px;
    padding: 0.5rem;
  }

  .item-description {
    padding-left: 0;
    margin-top: 0.5rem;
  }
}

@media (max-width: 320px) {
  .pentesting-list-container {
    padding: 8px;
  }

  .pentesting-item {
    padding: 0.6rem;
  }

  .item-icon {
    min-width: 40px;
    min-height: 40px;
    padding: 0.4rem;
  }
}

/* List */
/* List Container */
.pentesting-list-container {
  max-width: 960px;
  margin: 2rem auto;
  padding: 20px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  word-wrap: break-word;
}

/* List Styles */
.pentesting-types-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Individual List Items */
.pentesting-item {
  background-color: #f0f8ff;
  border: 1px solid #1a3a6e;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  transition: all 0.3s ease;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.pentesting-item:hover {
  background-color: #e6f3ff;
  border-color: #0056b3;
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(26, 58, 110, 0.15);
}

.pentesting-item:last-child {
  margin-bottom: 0;
}

/* Item Header */
.item-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

/* Item Icon */
.item-icon {
  font-size: clamp(1.5rem, 3vw, 2rem);
  background-color: #1a3a6e;
  color: white;
  padding: 0.8rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  min-height: 60px;
  flex-shrink: 0;
}

/* Item Title */
.item-title {
  color: #1a3a6e;
  font-size: clamp(1rem, 2.5vw, 1.3rem);
  margin: 0;
  font-weight: bold;
  word-break: break-word;
  hyphens: auto;
}

/* Item Description */
.item-description {
  color: #333;
  font-size: clamp(0.9rem, 2vw, 1rem);
  line-height: 1.8;
  margin: 0;
  word-break: break-word;
  hyphens: auto;
  padding-left: 75px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .pentesting-list-container {
    padding: 15px;
    margin: 1.5rem auto;
    border-radius: 5px;
  }

  .pentesting-item {
    padding: 1rem;
    margin-bottom: 1rem;
  }

  .item-header {
    gap: 12px;
  }

  .item-icon {
    min-width: 50px;
    min-height: 50px;
    padding: 0.6rem;
  }

  .item-description {
    padding-left: 62px;
  }
}

@media (max-width: 480px) {
  .pentesting-list-container {
    padding: 10px;
    margin: 1rem auto;
  }

  .pentesting-item {
    padding: 0.8rem;
  }

  .item-header {
    gap: 10px;
    flex-direction: column;
    align-items: flex-start;
  }

  .item-icon {
    min-width: 45px;
    min-height: 45px;
    padding: 0.5rem;
  }

  .item-description {
    padding-left: 0;
    margin-top: 0.5rem;
  }
}

@media (max-width: 320px) {
  .pentesting-list-container {
    padding: 8px;
  }

  .pentesting-item {
    padding: 0.6rem;
  }

  .item-icon {
    min-width: 40px;
    min-height: 40px;
    padding: 0.4rem;
  }
}

/* Table Container */
.table-container {
  max-width: 960px;
  margin: 2rem auto;
  padding: 20px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  word-wrap: break-word;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  line-height: 1.8;
  color: #333;
  padding: 0 10px;
  background-color: #f0f8ff;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Table Container */
.table-container {
  max-width: 960px;
  margin: 2rem auto;
  padding: 20px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  word-wrap: break-word;
}

/* Table Styles */
.comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(0.9rem, 2vw, 1rem);
  line-height: 1.8;
  color: #333;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Table Title */
.table-title {
  background-color: #1a3a6e;
  color: white;
  padding: 1.5rem;
  text-align: center;
  font-size: clamp(1.2rem, 3.5vw, 1.8rem);
  font-weight: bold;
  border-radius: 8px 8px 0 0;
  word-break: break-word;
  hyphens: auto;
}

/* Column Headers */
.pentesting-col {
  background-color: #f0f8ff;
  color: #1a3a6e;
  padding: 1rem;
  text-align: center;
  font-size: clamp(1rem, 2.5vw, 1.3rem);
  font-weight: bold;
  border: 1px solid #1a3a6e;
  word-break: break-word;
  hyphens: auto;
}

/* Table Body Cells */
.comparison-table tbody tr:nth-child(odd) td {
  background-color: #f9fffe;
  border: 1px solid #1a3a6e;
}

.comparison-table tbody tr:nth-child(even) td {
  background-color: #f0f8ff;
  border: 1px solid #1a3a6e;
}

.comparison-table td {
  padding: 1rem;
  text-align: center;
  vertical-align: top;
  word-break: break-word;
  hyphens: auto;
}

.comparison-table td strong {
  font-weight: bold;
  word-break: break-word;
}

/* Hover Effects */
.comparison-table tbody tr:hover td {
  background-color: #e6f3ff;
}

/* Status Icons */
.status-yes {
  color: #28a745;
  font-size: 1.2em;
}

.status-no {
  color: #dc3545;
  font-size: 1.2em;
}

.status-mixed {
  color: #ffc107;
  font-size: 1.2em;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .table-container {
    padding: 15px;
    margin: 1.5rem auto;
    border-radius: 5px;
  }

  .table-title {
    padding: 1rem;
  }

  .pentesting-col {
    padding: 0.8rem;
  }

  .comparison-table td {
    padding: 0.8rem;
  }
}

@media (max-width: 480px) {
  .table-container {
    padding: 10px;
    margin: 1rem auto;
  }

  .table-title {
    padding: 0.8rem;
  }

  .pentesting-col {
    padding: 0.6rem;
  }

  .comparison-table td {
    padding: 0.6rem;
  }
}

@media (max-width: 320px) {
  .table-container {
    padding: 8px;
  }

  .table-title {
    padding: 0.6rem;
  }

  .pentesting-col {
    padding: 0.5rem;
  }

  .comparison-table td {
    padding: 0.5rem;
  }
}

/* Table Styles */
.comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(0.9rem, 2vw, 1rem);
  line-height: 1.8;
  color: #333;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Table Title */
.table-title {
  background-color: #1a3a6e;
  color: white;
  padding: 1.5rem;
  text-align: center;
  font-size: clamp(1.2rem, 3.5vw, 1.8rem);
  font-weight: bold;
  border-radius: 8px 8px 0 0;
  word-break: break-word;
  hyphens: auto;
}

/* Column Headers */
.pentesting-col {
  background-color: #f0f8ff;
  color: #1a3a6e;
  padding: 1rem;
  text-align: center;
  font-size: clamp(1rem, 2.5vw, 1.3rem);
  font-weight: bold;
  border: 1px solid #1a3a6e;
  word-break: break-word;
  hyphens: auto;
}

.hacking-col {
  background-color: #ffe8e8;
  color: #c41e3a;
  padding: 1rem;
  text-align: center;
  font-size: clamp(1rem, 2.5vw, 1.3rem);
  font-weight: bold;
  border: 1px solid #c41e3a;
  word-break: break-word;
  hyphens: auto;
}

/* Table Body Cells */
.comparison-table tbody tr:nth-child(odd) td:first-child {
  background-color: #f9fffe;
  border: 1px solid #1a3a6e;
}

.comparison-table tbody tr:nth-child(odd) td:last-child {
  background-color: #fff9f9;
  border: 1px solid #c41e3a;
}

.comparison-table tbody tr:nth-child(even) td:first-child {
  background-color: #f0f8ff;
  border: 1px solid #1a3a6e;
}

.comparison-table tbody tr:nth-child(even) td:last-child {
  background-color: #ffe8e8;
  border: 1px solid #c41e3a;
}

.comparison-table td {
  padding: 1rem;
  text-align: left;
  vertical-align: top;
  word-break: break-word;
  hyphens: auto;
}

.comparison-table td strong {
  font-weight: bold;
  word-break: break-word;
}

/* Hover Effects */
.comparison-table tbody tr:hover td:first-child {
  background-color: #e6f3ff;
}

.comparison-table tbody tr:hover td:last-child {
  background-color: #ffd6d6;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .table-container {
    padding: 15px;
    margin: 1.5rem auto;
    border-radius: 5px;
  }

  .table-title {
    padding: 1rem;
  }

  .pentesting-col,
  .hacking-col {
    padding: 0.8rem;
  }

  .comparison-table td {
    padding: 0.8rem;
  }
}

@media (max-width: 480px) {
  .table-container {
    padding: 10px;
    margin: 1rem auto;
  }

  .table-title {
    padding: 0.8rem;
  }

  .pentesting-col,
  .hacking-col {
    padding: 0.6rem;
  }

  .comparison-table td {
    padding: 0.6rem;
  }
}

@media (max-width: 320px) {
  .table-container {
    padding: 8px;
  }

  .table-title {
    padding: 0.6rem;
  }

  .pentesting-col,
  .hacking-col {
    padding: 0.5rem;
  }

  .comparison-table td {
    padding: 0.5rem;
  }
}

/* Footer */
footer.footer {
  text-align: center;
  padding: 2rem 1rem;
  margin-top: 2rem;
  color: #7f8c8d;
  font-size: clamp(0.8rem, 1.5vw, 0.9rem);
  border-top: 1px solid #eee;
  word-break: break-word;
}

/* Floting Social Media Icons */
.social-icons-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 0;
  background-color: #f0f8ff;
  /* Background color */
}

.social-icons {
  display: flex;
  flex-wrap: wrap;
  /* Allow wrapping on smaller screens */
  justify-content: center;
  align-items: center;
  gap: 20px;
  /* Modern gap between icons */
}

.social-icons a {
  color: inherit;
  text-decoration: none;
  transition: transform 0.3s ease, color 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
}

.social-icons a:hover {
  transform: translateY(-5px);
  opacity: 0.8;
}

.social-icons a i {
  font-size: 2rem;
  /* Base size */
}

@media (max-width: 576px) {
  .social-icons {
    gap: 15px;
  }

  .social-icons a i {
    font-size: 1.5rem;
  }
}

@media (max-width: 375px) {
  .social-icons {
    gap: 10px;
  }

  .social-icons a i {
    font-size: 1.25rem;
  }

  /* Mobile Responsive Styles */
  @media (max-width: 768px) {
    body {
      padding: 0 5px;
    }

    .container {
      padding: 15px;
      margin-bottom: 1.5rem;
      border-radius: 5px;
    }

    header.hero {
      padding: 1.5rem 0.5rem;
      margin-bottom: 1.5rem;
    }

    .hero h1 {
      gap: 8px;
      margin-bottom: 0.8rem;
    }

    h2 {
      margin: 1.5rem 0 0.8rem;
      padding-bottom: 0.3rem;
    }

    h3 {
      margin: 1rem 0 0.6rem;
    }

    .warning {
      padding: 1rem;
      margin: 1rem 0;
    }

    .toc {
      padding: 1rem;
      margin: 1rem 0;
    }

    .toc ul li {
      margin-bottom: 0.4rem;
    }

    p {
      margin-bottom: 1rem;
    }

    .container ul {
      padding-left: 1rem;
    }

    pre {
      padding: 0.8rem;
      font-size: 0.8rem;
      margin: 0.8rem 0;
    }

    blockquote {
      margin: 1rem 0;
      padding: 0.8rem;
    }
  }

  @media (max-width: 480px) {
    body {
      padding: 0 3px;
    }

    .container {
      padding: 10px;
      margin-bottom: 1rem;
    }

    header.hero {
      padding: 1rem 0.3rem;
    }

    .hero h1 {
      flex-direction: column;
      gap: 5px;
    }

    .social-icons {
      gap: 15px;
    }

    .toc {
      padding: 0.8rem;
    }

    .container ul {
      padding-left: 0.8rem;
    }

    pre {
      padding: 0.6rem;
      font-size: 0.7rem;
      overflow-x: scroll;
    }

    .social-icons a {
      min-width: 40px;
      min-height: 40px;
    }
  }

  @media (max-width: 320px) {
    body {
      padding: 0 2px;
    }

    .container {
      padding: 8px;
    }

    header.hero {
      padding: 0.8rem 0.2rem;
    }

    .social-icons {
      gap: 10px;
    }

    .social-icons a {
      min-width: 36px;
      min-height: 36px;
    }

    .toc {
      padding: 0.6rem;
    }

    pre {
      padding: 0.5rem;
      font-size: 0.65rem;
    }
  }
}